请问Turbo Pascal中['A'..'Z']的Python等价实现方式是什么?
快速生成'A'到'Z'字符列表的快捷方法
当然有,不同编程语言里都有对应快捷语法或方法,能快速生成'A'到'Z'的字符列表,下面是几种主流语言的实现:
Python
两种简洁实现方式,对应不同需求:
# 方法1:调用内置常量(最简便) import string uppercase_letters = list(string.ascii_uppercase) # 方法2:通过ASCII码区间生成,逻辑和Turbo Pascal的['A'..'Z']最贴近 uppercase_letters = [chr(i) for i in range(ord('A'), ord('Z')+1)]
JavaScript
利用数组构造函数结合字符编码生成:
const uppercaseLetters = Array.from({length: 26}, (_, i) => String.fromCharCode(65 + i));
注:65是字符'A'的ASCII码值,通过循环生成26个对应字符。
Java
Java 8及以上可通过流API实现区间式生成:
import java.util.List; import java.util.stream.Collectors; import java.util.stream.IntStream; List<Character> uppercaseLetters = IntStream.rangeClosed('A', 'Z') .mapToObj(c -> (char) c) .collect(Collectors.toList());
rangeClosed('A', 'Z')会包含首尾字符,和Turbo Pascal的区间语法逻辑一致。
C#
两种实用写法:
// 方法1:通过LINQ生成区间字符 using System.Linq; var uppercaseLetters = Enumerable.Range('A', 26).Select(c => (char)c).ToList(); // 方法2:直接用字符串转数组,直观高效 char[] uppercaseLetters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".ToCharArray();
内容的提问来源于stack exchange,提问作者HermDP
相关产品推荐
相关产品推荐

