3、リスト、またはポインタの値を変更するが変更され

ポインタ値を変更したり、リスト1を変更するには

図1は、直接接続されている「+」によって、同じデータタイプ列とリストをPYTHON

「+」だけの長さではなく、すべての要素の追加リストが展開します。

lst1 = ['a','c']
lst2 = ['d','g']
lst = lst1 + lst2

s1 = "adc"
s2 = "agf"
s3 = s1 + s2

リバースリスト

Def rev(lst):
    lt = [] 
    for i in lst:
        lt = [i] + lt
    return lt

javaのと比較すると

。1、Javaのリストを直接「+」演算子を使用することができない、Javaオブジェクトは、方法によって達成される、など。

String a[] = { "A", "E", "I" };
String b[] = { "O", "U" };
List list = new ArrayList(Arrays.asList(a));
list.addAll(Arrays.asList(b));
Object[] c = list.toArray();
System.out.println(Arrays.toString(c));

[A, E, I, O, U]

その他のリファレンス:
https://www.runoob.com/java/arrays_merge.html
https://www.cjavapy.com/article/290/

2、特性のリスト

索引(インデックス)とスライス(スライス)の間の違いに注意してください

lst = ['s','f','i']
ls1 = lst[0]
ls2 = lst[0:1]
type(lst1) --->str,进行索引操作
type(lst2) --->list,进行切片操作

LST1 LST2値と同じですが、異なる種類のデータが、

3、リスト及び文字列データタイプを受信しながら、第1及び第2のスイッチング素子

def swap(ls):
  return ls[1:2]+ls[0:1]+ls[2:]

図4に示すように、アプリケーション・データ転送タイプのデータ・タイプ

myList = list("Isaac")

def swapL(xs) :
    return [xs[-1]]+xs[1:-1]+[xs[0]]

def swapLx(lst):
    lst = swapL(lst)

swapLx(myList)
myList

結果: [ 'I'、 'S'、 'A'、 'A'、 'C']

説明:

図5に示すように、パラメータ値の特定の変更場合にのみ

myList = list("Isaac")

def swapL(xs) :
    return [xs[-1]]+xs[1:-1]+[xs[0]]

def swapLx(lst):
    lst[:] = swapL(lst)

swapLx(myList)
myList

結果:
[ 'C'、 'S'、 'A'、 'A'、 'I']

説明:

6、まとめ

  • 直接割り当てリストのデータ型は、新しい変数へのポインタを変更することで、元の格納されたデータは変更されません。
  • リスト[:]は、その値を変更するために直接データが割り当てられ、記憶された値が直接変更されます

7.その他のヒント

def swapx(lst):
    lst[-1],lst[0] = lst[0],lst[-1]

swapx(myList)
myList

结果:
['c', 's', 'a', 'a', 'I']

おすすめ

転載: www.cnblogs.com/Stephanie-boke/p/11711318.html